Ağ Uygulamalarının Esasları
Ağ uygulamalarının esasları
Ağ uygulamaları, ağ üzerinden veri alışverişi yapmak için kullanılan yazılımlardır. İnternet ve diğer ağlarda kullanılan uygulamaların temel prensipleri şunlardır:
- Bağlantı yönetimi: İki nokta arasında güvenli bir bağlantı kurmak ve veri akışını yönetmek için kullanılan protokollerdir. Örneğin, TCP (Transmission Control Protocol), verilerin gönderilmesi ve alınması sırasında doğrulama ve hata kontrolü sağlar.
- Adresleme: Veri paketlerinin doğru hedefe ulaşması için kullanılan yöntemlerdir. IP (Internet Protocol) adresleri, ağdaki cihazların benzersiz tanımlayıcısıdır ve veri paketleri, hedef IP adresine yönlendirilir.
- Veri formatı: Verilerin standart bir şekilde kodlanması, taşınması ve depolanması için kullanılan yapıdır. Örneğin, HTML (Hypertext Markup Language) web sayfalarının oluşturulması için kullanılan bir standarttır.
- Veri paylaşımı: Bir ağda bulunan cihazlar arasında veri paylaşımı için kullanılan yöntemlerdir. Dosya paylaşımı, baskı paylaşımı ve veritabanı erişimi gibi örnekler bulunmaktadır.
- Güvenlik: Veri güvenliği, ağ üzerindeki bilgilerin korunması için çok önemlidir. Şifreleme, yetkilendirme ve kimlik doğrulama gibi yöntemler, ağ uygulamalarında kullanılan güvenlik mekanizmalarıdır.
- Çoklu ortam: Ağ uygulamaları, farklı medya türlerinde veri aktarımı yapabilirler. Ses, video ve grafik gibi farklı ortamlar için özel protokoller ve standartlar bulunmaktadır. Örneğin, SIP (Session Initiation Protocol) sesli görüşme uygulamaları için kullanılan bir protokoldür.
- Dağıtık hesaplama: Ağ uygulamaları, ağdaki birden fazla cihazın kaynaklarını kullanarak dağıtık hesaplama yapabilirler. Bu, büyük ölçekli hesaplama problemlerinin çözülmesinde önemli bir rol oynamaktadır. Örneğin, Hadoop, büyük ölçekli veri işleme problemleri için kullanılan bir dağıtık hesaplama platformudur.
Uygulama Mimarileri
Uygulama mimarileri, bir ağ uygulamasının tasarımında kullanılan farklı yaklaşımlardır. En yaygın üç uygulama mimarisi İstemci-Sunucu, P2P ve Hibrit'tir.
- İstemci-Sunucu Mimarisi: Bu mimaride, uygulama işlevleri istemci ve sunucu arasında paylaştırılır. İstemci, sunucuya talepte bulunur ve sunucu işlemleri gerçekleştirerek yanıt verir. Bu mimari genellikle işletme ortamlarında kullanılır. Örnek olarak, bir web tarayıcısı istemci, web sunucusu ise sunucu rolünü üstlenir.
- P2P (Peer-to-Peer) Mimarisi: Bu mimaride, tüm cihazlar eşit olarak paylaşım işlevlerini yerine getirir. P2P mimarisi, merkezi bir sunucuya ihtiyaç duymaz. Bu nedenle, uygulama dağıtımında genellikle daha düşük maliyetli ve daha ölçeklenebilir bir seçenek olarak tercih edilir. Örnek olarak, dosya paylaşımı programları gibi uygulamalar P2P mimarisini kullanır.
- Hibrit Mimarisi: Hibrit mimarisinde, uygulamanın bazı kısımları istemci-sunucu mimarisinde ve bazı kısımları ise P2P mimarisinde tasarlanır. Örneğin, bir mesajlaşma uygulaması istemci-sunucu mimarisi kullanabilirken, dosya paylaşımı özelliği P2P mimarisi ile tasarlanabilir.
::: Not: Bu üç mimari arasında seçim yapmak, uygulamanın gereksinimlerine ve işlevselliğine bağlıdır. :::
Mimarilerin Karşılaştırılması
İstemci-sunucu, P2P ve hibrit mimarileri farklı özellikleriyle birbirinden ayrılır. Aşağıda bu mimarilerin avantaj ve dezavantajlarına dair bilgi verilmiştir:
İstemci-Sunucu Mimarisi:
Avantajları:
- Yüksek güvenlik sağlar, çünkü sunucu erişimi kontrol eder.
- Sunucuda merkezi bir veri kaynağı bulunur, böylece veriler güvenli bir şekilde saklanabilir.
- Sunucu, performansı optimize edebilir ve kaynakları denetleyebilir.
- Ayrı sunucu ve istemci uygulamaları geliştirilebilir.
- İstemciler, sunucudan uzakta bile çalışabilirler.
Dezavantajları:
- Sunucu çökmesi durumunda sistem çalışmayabilir.
- Sunucunun gereksinimleri, işlemci ve bellek gibi donanım kaynaklarını yüksek maliyetle gerektirir.
- Sunucuya bağlanmak için sürekli olarak ağa bağlı olunması gerekir.
P2P (Eşten Eşe) Mimarisi:
Avantajları:
- Daha düşük maliyetlidir, çünkü merkezi bir sunucu gerektirmez.
- Daha yüksek ölçeklenebilirlik sağlar, çünkü her düğüm verileri saklayabilir ve paylaşabilir.
- Sunucu çökmesi durumunda sistem çalışmaya devam edebilir.
- P2P ağı, işlemleri daha hızlı hale getirerek yüksek performans sunabilir.
Dezavantajları:
- Güvenlik riski oluşabilir, çünkü herhangi bir düğüm diğer düğümlerin kimliğini sahtekarlık amacıyla ele geçirebilir.
- Kaynakların paylaşımı düzenlenmediği takdirde, ağın bant genişliği tüketilebilir.
- Performans, ağdaki düğümlerin sayısına bağlı olarak düşebilir.
Hibrit Mimarisi:
Avantajları:
- Hem istemci-sunucu hem de P2P mimarilerinin avantajlarını birleştirir.
- Kullanıcılar arasında veri paylaşımı için P2P kullanabilirken, veri güvenliği için merkezi sunucular kullanılabilir.
- Kullanıcıların çevrimiçi durumlarında diğer kullanıcılarla etkileşime geçebilmelerini sağlar.
- Düşük maliyetli ve yüksek ölçeklenebilirlik sağlayabilir.
Dezavantajları:
Karmaşık tasarım: Hibrit mimariler, hem istemci-sunucu hem de p2p mimarilerinin özelliklerini birleştirdiği için karmaşık bir tasarıma sahiptir. Bu nedenle, geliştiricilerin ve yöneticilerin tasarım ve yönetim süreçlerinde daha fazla zaman ve çaba harcamaları gerekebilir.
Yüksek maliyet: Hibrit mimari, birden fazla teknolojinin birleştirilmesiyle oluştuğu için daha yüksek bir maliyete sahip olabilir. Özellikle, hem istemci-sunucu hem de p2p ağlarına özel ekipman ve yazılımların kullanılması gerekiyorsa, maliyet daha da yükselebilir.
Güvenlik sorunları: Hibrit mimarilerin, hem istemci-sunucu hem de p2p ağlarının güvenlik sorunlarını birleştirdiği görülebilir. Bu, güvenlik açıkları ve saldırı risklerini artırabilir.
Yönetim zorlukları: Hibrit mimariler, hem istemci-sunucu hem de p2p ağlarının yönetim zorluklarını birleştirdiği için yönetim süreçlerini daha karmaşık hale getirebilir. Bu, sistem yöneticilerinin ve kullanıcıların yönetim süreçlerinde daha fazla zorlukla karşılaşabileceği anlamına gelir.
Process
Process, bilgisayar bilimleri ve işletim sistemleri alanında kullanılan bir terimdir. Bir process (işlem), çalışan bir programın çalıştırılmak üzere yüklenmiş halidir. İşletim sistemi, bir işlemciye öncelik vererek, birden fazla işlemi aynı anda çalıştırabilir. Her process, kendi adres alanına sahip olan ve birbirleriyle etkileşim kurabilen, bağımsız bir ortamda çalışır.
İstemci İşlemi
İstemci İşlemi, istemci-sunucu mimarisinde kullanılan bir terimdir. İstemci işlemi, sunucudan hizmet almak üzere yapılan bir istek işlemidir. İstemci, sunucuya bağlanır, hizmet talep eder ve sunucudan hizmeti alır. İstemci işlemi, istemci bilgisayar tarafından başlatılır ve sunucu tarafından cevaplanır. İstemci işlemi, genellikle ağ üzerinden bir protokol aracılığıyla gerçekleştirilir.
Sunucu İşlemi
Sunucu işlemi, bir ağdaki diğer cihazların erişebileceği hizmetler sağlayan bir işlemdir. Bu hizmetler, web sayfaları, dosya paylaşımı, e-posta, veritabanları vb. olabilir. Sunucu işlemi, genellikle bir sunucu bilgisayarda çalıştırılır ve ağdaki diğer cihazların (istemci işlemlerinin) taleplerine cevap verir.
Adresleme İşlemleri
Ağ adresleme işlemi, bir cihazın diğer bir cihaza veri göndermek için belirli bir adresi nasıl bulduğunu tanımlar. Adresleme işlemi, bir ağdaki her cihazın benzersiz bir IP adresi (Internet Protokol adresi) olduğu TCP/IP protokolü tarafından kullanılır. Adresleme işlemi, verilerin doğru hedefe ulaşmasını sağlar. Adresleme işleminde kullanılan adres türleri arasında MAC adresleri, IP adresleri ve port numaraları yer alır.
Soket
Soket, ağ programlama dilinde kullanılan bir arayüzdür. Bu arayüz, uygulama yazılımlarının ağ ile iletişim kurabilmesi için gerekli olan erişim noktasını temsil eder. Soket, uygulamaların ağ üzerindeki bir diğer uygulama ile iletişim kurmasını sağlar.
Bir soket, IP adresi ve port numarası çiftiyle tanımlanır. IP adresi, hedef ağdaki hedef makinenin benzersiz kimliğini belirtirken, port numarası, belirli bir uygulamaya yönlendirilen trafiği belirtir. İletişim kurulacak cihazın adres bilgisinin yanı sıra protokol tipi, bağlantı türü ve diğer parametreler de soket tanımlamasında yer alabilir.
Soketler, iki türde olabilir: akış soketi (stream socket) ve datagram soketi (datagram socket). Akış soketleri, güvenilir, bağlantı temelli bir iletişim için kullanılır ve TCP protokolü tarafından sağlanır. Datagram soketleri ise güvenilmeyen, bağlantısız bir iletişim için kullanılır ve UDP protokolü tarafından sağlanır.
Web ve HTTP
Web
Web sayfaları, sunucular üzerinde barındırılan ve internet üzerinden erişilebilen HTML dosyalarıdır. Bir web sayfasının çalışması, web sunucusu ve istemci arasında gerçekleşen birçok adımdan oluşur.
Web sayfasının URL'si (Uniform Resource Locator), host name ve path name olarak bilinen iki ana bölümden oluşur. Host name, web sunucusunun adını veya IP adresini belirtir. Path name ise sunucuda hangi dizinde veya klasörde HTML dosyasının bulunduğunu belirtir.
Web sayfası yüklendiğinde, istemci (genellikle bir web tarayıcısı) sunucuya bir HTTP isteği gönderir. Bu istek, belirtilen host name ve path name'e sahip web sayfasını içerir. Sunucu, isteği aldıktan sonra HTML dosyasını arar ve istemciye geri gönderir.
HTML dosyası, bir dizi HTML etiketi içerir ve tarayıcı tarafından yorumlanarak web sayfasının görüntüsü oluşturulur. Bu etiketler, web sayfasının farklı bölümlerini, metinleri, resimleri, videoları, linkleri ve diğer öğeleri belirtir.
Nesne HTML dosyaları, web sayfasında kullanılan farklı türdeki öğeleri temsil eder. Örneğin, bir resim dosyası bir nesne HTML dosyası olarak gömülebilir ve web sayfasında görüntülenebilir. Bu nesneler, web sayfalarının işlevselliğini arttırmak için kullanılır.
Kısacası, web sayfaları, HTML dosyalarından oluşan ve sunucular üzerinde barındırılan, internet üzerinden erişilebilen belgelerdir. Tarayıcılar, web sayfalarının HTML etiketlerini yorumlayarak, web sayfalarının görüntülenmesini sağlar.
HTTP
HTTP (Hypertext Transfer Protocol) web sayfalarının ve diğer verilerin internet üzerinden iletilmesi için kullanılan bir iletişim protokolüdür. HTTP, bir istemci-sunucu protokolüdür, bu da istemci programların sunuculara talep gönderip yanıt alması gerektiği anlamına gelir.
HTTP, TCP/IP protokol yığınının üstünde çalışır ve web tarayıcıları (istemciler) ve web sunucuları arasında veri iletişimini sağlar. HTTP, web sayfalarını, görüntüleri, videoları, ses dosyalarını vb. yüklemek, göndermek ve almak için kullanılır.
HTTP, bir istek-yanıt protokolüdür, bu da istemcinin sunucuya bir istek gönderdiğini ve sunucunun isteği aldıktan sonra bir yanıt gönderdiğini gösterir. İstek ve yanıt, mesaj olarak adlandırılır ve aşağıdaki bileşenleri içerir:
- İstek Başlığı (Request Header): İstemcinin sunucuya gönderdiği isteğin detaylarını içerir. İstek başlığı genellikle isteğin türü (GET, POST vb.), istenen kaynak (URI), ve istemcinin özellikleri (kullanıcı ajanı, dil ayarı vb.) gibi bilgileri içerir.
- İstek Gövdesi (Request Body): Bazı istekler, istek gövdesi olarak bilinen verileri sunucuya gönderir. Bu genellikle bir HTML formunun içeriği veya yüklenmesi gereken bir dosya gibi veriler olabilir.
- Yanıt Başlığı (Response Header): Sunucunun istekle ilgili bilgileri içeren yanıt başlığı. Bu genellikle yanıt durum kodu (200 OK, 404 Not Found vb.), sunucunun kullanılan yazılımı ve sunucunun yanıtla ilgili diğer bilgilerini içerir.
- Yanıt Gövdesi (Response Body): Sunucu tarafından gönderilen verilerdir. Bu genellikle bir HTML sayfası, görüntü, video, ses dosyası veya başka bir veri türü olabilir.
HTTP protokolü, standart bir dizi istek yöntemi tanır. En sık kullanılanlar şunlardır:
- GET: Bir kaynağın alınması için kullanılır.
- POST: Bir formun doldurulması veya bir dosyanın yüklenmesi gibi verilerin sunucuya gönderilmesi için kullanılır.
- PUT: Bir kaynağın güncellenmesi için kullanılır.
- DELETE: Bir kaynağın silinmesi için kullanılır.
HTTP ayrıca, cookie'ler, oturum yönetimi ve HTTPS (HTTP Secure) gibi özellikleri de destekler.
Sonuç olarak, HTTP, internet üzerindeki web sayfaları ve diğer verilerin iletilmesi için temel bir protokoldür.
HTTP 1.0 ve HTTP 1.1
HTTP 1.0 ve HTTP 1.1 ise HTTP protokolünün farklı sürümleridir ve aralarında bazı farklılıklar vardır.
HTTP 1.0:
- İstemci her istekte yeni bir bağlantı açar ve her cevap aldığında bağlantıyı kapatır.
- Sadece GET ve HEAD yöntemleri desteklenir. POST ve diğer yöntemler ancak ek uzantılarla kullanılabilir.
- Her istek ayrı ayrı işlenir, aynı anda birden fazla istek gönderilmez.
- Cevaplar arasında sıkıştırma (compression) ve yönlendirme (redirect) desteği yoktur.
- Yalnızca ASCII karakter seti kullanılır.
HTTP 1.1:
- Bağlantılar varsayılan olarak kalıcıdır, yani aynı sunucuyla ilgili diğer istekler için yeniden kullanılabilirler.
- GET, POST, HEAD, PUT, DELETE, OPTIONS, CONNECT, TRACE yöntemleri gibi birçok yöntem desteklenir.
- Birden fazla istek ve cevap aynı anda gönderilebilir (pipelining).
- Cevaplar arasında sıkıştırma ve yönlendirme desteği vardır.
- Çoklu dil desteği ve karakter seti desteği gibi daha fazla özellik bulunur.
HTTP 1.1, HTTP 1.0'a göre daha verimli ve gelişmiş özelliklere sahiptir. Ancak bazı sunucu ve istemciler hala HTTP 1.0 kullanıyor olabilir, bu nedenle uyumlu olma sorunu ortaya çıkabilir.
HTTP Bağlantıları
HTTP protokolü, iki tür bağlantı türü sunar: kalıcı olmayan ve kalıcı HTTP bağlantıları.
Kalıcı olmayan HTTP bağlantıları, istek-cevap döngüsü tamamlandıktan sonra bağlantıyı kapatır. Bu nedenle, her yeni istek için yeni bir bağlantı oluşturulur. Bu durumda, her istek için ayrı ayrı bir TCP bağlantısı oluşturulması gereklidir. Bu, web sunucusunun kaynaklarını tüketebilir ve web sitesinin yavaşlamasına neden olabilir.
Kalıcı HTTP bağlantıları ise isteklerin ve cevapların aynı TCP bağlantısı üzerinden gerçekleştirilmesine izin verir. Bu, istek-cevap döngüsü tamamlandıktan sonra bağlantının kapatılmaması anlamına gelir. Bu tür bağlantılar, bir web sayfası için birden fazla kaynak isteğinde bulunulduğunda özellikle faydalıdır. Bu sayede, web sunucusu kaynaklarını daha verimli kullanır ve web sitesinin hızını arttırır.
Kalıcı HTTP bağlantıları, HTTP 1.1 protokolü ile standart hale gelmiştir. HTTP 1.0 protokolünde, varsayılan bağlantı tipi kalıcı olmayan bağlantılardır. HTTP 1.1 protokolünde ise varsayılan bağlantı tipi kalıcı bağlantılardır. Ancak, sunucu kalıcı bağlantılara destek vermezse, bağlantı kalıcı olmayan olarak gerçekleşir. Kalıcı bağlantıların avantajı, sayfa yükleme hızını artırmasıdır. Dezavantajı ise, sunucu kaynaklarını tüketebilmesi ve aşırı yük altında çökebilmesidir.
HTTP İstek Mesajı
HTTP istek mesajı, bir istemcinin bir sunucudan bir kaynak istemesi için kullanılan bir mesajdır ve genellikle aşağıdaki bileşenleri içerir:
- İstek satırı: HTTP yöntemi, kaynağın URI'si ve HTTP sürümü bilgilerini içerir.
- Başlık alanları: İstek hakkında ek bilgi sağlayan metin çiftleri.
- İstek gövdesi: POST, PUT ve diğer yöntemlerde veri göndermek için kullanılan bir varlık veya veri bloğu.
İstek satırı, isteğin türünü belirten HTTP yöntemi (GET, POST, PUT, DELETE vb.), kaynağın URI'si (Uniform Resource Identifier) ve HTTP sürümü bilgilerini içerir. Başlık alanları, isteğin daha ayrıntılı bilgilerini sağlar. Bu alanlar, isteğin kabul edilebilir kodlamalarını, dil tercihlerini, çerezleri, kimlik doğrulama bilgilerini ve benzeri bilgileri içerebilir. İstek gövdesi, istek mesajına veri eklemek için kullanılır. İstek gövdesi genellikle POST ve PUT yöntemleriyle kullanılır ve veri veya varlık göndermek için kullanılır.
HTTP Metod Tipleri
HTTP (Hypertext Transfer Protocol), bir web sunucusu ve bir istemci arasında veri iletişimi için kullanılan bir protokoldür. Bu iletişimde, istemci bir istek gönderir ve sunucu bu isteğe yanıt verir. Bu istekler, HTTP yöntemleri olarak da bilinen HTTP metotları kullanılarak gönderilir.
Bazı HTTP metotları ve detayları aşağıdaki şekildedir:
- GET: GET, belirtilen URL'deki kaynakları okumak için kullanılır. GET yöntemi, sunucudan veri almak için kullanılır. Örneğin, bir web sayfası yüklemek için kullanılır. Bu istekler, genellikle bir tarayıcı tarafından yapılır.
- POST: POST, belirtilen URL'ye veri göndermek için kullanılır. Bu veri, bir web formu tarafından sunucuya gönderilebilir. POST isteği, genellikle bir formu sunucuya göndermek için kullanılır. Örneğin, bir kullanıcının bir ürün satın alma formunu göndermesi.
- PUT: PUT, belirtilen URL'deki kaynakları değiştirmek için kullanılır. Bu yöntem, genellikle bir dosyanın yüklenmesi veya güncellenmesi için kullanılır. Örneğin, bir dosyanın sunucuya yüklenmesi veya güncellenmesi.
- DELETE: DELETE, belirtilen URL'deki kaynakları silmek için kullanılır. Bu yöntem, genellikle bir dosyanın silinmesi için kullanılır. Örneğin, bir kullanıcının bir dosyayı sunucudan silmesi.
- HEAD: HEAD, belirtilen URL'deki kaynakların başlıklarını almak için kullanılır. Bu yöntem, bir belgenin içeriğini almadan sadece başlıklarını almak için kullanılır.
- OPTIONS: OPTIONS, belirtilen URL'nin desteklediği yöntemleri almak için kullanılır. Bu yöntem, sunucudan hangi yöntemlerin desteklendiğini öğrenmek için kullanılır.
HTTP cevap durum kodları
HTTP cevap durum kodları, sunucunun bir isteği aldığında verdiği yanıtların anlamlarını ifade eder. Bazı yaygın HTTP cevap durum kodlarının açıklamaları aşağıdaki gibidir:
- 200 OK: İstek başarılı bir şekilde işlendi ve istenen kaynak bulundu, sunucu da bu kaynağı başarıyla döndürdü.
- 301 Moved Permanently: İstenen kaynak kalıcı olarak taşındı veya başka bir yere taşındı. Cevapta bulunan Location headerı ile birlikte, istemci isteği yeni konuma yönlendirmelidir.
- 400 Bad Request: İstek yapılırken bir hata oluştu. İstek hatalı formatta veya eksik bir parametre içerebilir.
- 401 Unauthorized: İstemci kimlik doğrulaması gerektiren bir kaynağa erişmeye çalışırken kimlik doğrulama bilgileri geçersizdi veya yoktu.
- 403 Forbidden: İstek yapılan kaynağa erişmek isteyen istemcinin yetkisi yok. Sunucu isteği reddeder.
- 404 Not Found: İstek yapılan kaynak bulunamadı. Bu kod, istemci tarafından istenen kaynak sunucuda mevcut değilse kullanılır.
- 505 HTTP Version Not Supported: Sunucu, istemcinin kullandığı HTTP sürümünü desteklemediğinde kullanılır.
title: Çerezler ve Protokoller description: Bu belge, çerezlerin nasıl çalıştığını, FTP, SMTP, POP3 ve IMAP gibi dosya aktarım ve e-posta protokollerinin temel özelliklerini detaylandırır. Ayrıca, DNS ve P2P dosya paylaşımının işleyişine dair bilgiler içerir.
keywords: [çerezler, FTP, SMTP, POP3, IMAP, DNS, P2P]
Çerezler
Çerezler, internet tarayıcısı tarafından saklanan küçük metin dosyalarıdır. Web siteleri, çerezleri kullanarak kullanıcılara özelleştirilmiş hizmetler sunabilirler. Bir web sitesi, kullanıcının tarayıcısına çerez göndererek, sonraki ziyaretlerde kullanıcının ayarlarını ve tercihlerini hatırlayabilir.
Çerezler, web sitesi tarafından belirtilen bir süre boyunca saklanır. Bu süre, çerezin ne kadar süre saklanacağına karar veren web sitesi tarafından belirlenir. Bazı çerezler, tarayıcı penceresi kapatıldığında silinirken, diğerleri belirli bir süre boyunca saklanır.
Çerezlerin temel işlevi, kullanıcının kimliğini ve oturum durumunu takip etmektir. Örneğin, bir web sitesine giriş yaptığınızda, site sizin kim olduğunuzu ve hangi hesaba erişiminizin olduğunu belirlemek için bir çerez oluşturabilir.
Çerezlerin bazı dezavantajları da vardır. Örneğin, çerezlerin kullanımı, kullanıcının özel bilgilerinin takip edilmesi veya paylaşılması gibi gizlilik endişelerine yol açabilir.
Sonuç olarak, çerezler web siteleri için faydalıdır fakat kullanıcıların gizliliği açısından dikkatli kullanılmalıdır.
— Bilgi Notu
Kullanıcıların tarayıcılarında çerezleri yönetmeleri veya tamamen devre dışı bırakmaları mümkündür.
FTP
FTP (File Transfer Protocol), ağ üzerinde dosya transferi yapmak için kullanılan bir protokoldür. İstemci-sunucu modeli kullanır ve sunucu, istemci tarafından belirtilen dosyaları okuyup/yazabilir. Genellikle dosyaların web sunucularından indirilmesi için kullanılır.
FTP, dosyaları ASCII veya Binary olarak transfer edebilir. ASCII, metin dosyaları için kullanılırken, Binary, resim ve müzik gibi ikili dosyalar için kullanılır.
FTP istemcisi, sunucuya bağlanmak için FTP sunucusu adını veya IP adresini kullanır. Sunucu adı, FTP istemcisi tarafından kullanıcının FTP isteği göndermek istediği sunucunun adıdır.
FTP Kullanıcı Hesapları
FTP, iki tür kullanıcı hesabı kullanır: Anonymous ve Authenticated.
- Anonymous hesaplar, herhangi bir kimlik doğrulama gerektirmeden FTP sunucusuna erişim sağlar ve herkes tarafından kullanılabilir.
- Authenticated hesaplar ise, kullanıcı adı ve parola ile doğrulama gerektirir.
FTP protokolü, iki ayrı bağlantı kullanır: veri bağlantısı ve kontrol bağlantısı. Kontrol bağlantısı, FTP isteği ve cevapları için kullanılırken, veri bağlantısı, dosya transferi için kullanılır.
Elektronik Posta
Elektronik posta, bilgisayar ağları aracılığıyla iletilen bir iletişim yöntemidir. Elektronik postanın temel bileşenleri şunlardır:
- Kullanıcı Arayüzü: Kullanıcıların e-postalarını oluşturdukları, gönderdikleri, aldıkları ve okudukları arayüzdür. Kullanıcı arayüzü, bir e-posta istemcisinde (Outlook, Gmail, Yahoo Mail vb.) veya bir web tarayıcısında yer alabilir.
- Posta Sunucuları: E-postaların saklandığı, yönlendirildiği ve alınarak teslim edildiği sunuculardır.
- SMTP: Simple Mail Transfer Protocol (Basit Posta Aktarım Protokolü), elektronik postanın gönderilmesi için kullanılan bir protokoldür.
E-posta gönderilirken, gönderenin e-posta istemcisi, alıcının e-posta adresini SMTP sunucusuna gönderir ve posta sunucusu, alınacak e-postayı belirlemek için DNS'e sorgulama yapar.
SMTP
SMTP, e-posta gönderme işlemlerini yönetmek için kullanılan bir ağ protokolüdür. SMTP, TCP (Transmission Control Protocol) üzerinde çalışır ve genellikle 25 numaralı portu kullanır.
POP3
POP3 (Post Office Protocol 3) elektronik posta almak için kullanılan bir protokoldür. POP3, TCP/IP üzerinde çalışır ve genellikle 110 numaralı bağlantı noktasını kullanır.
POP3'ün ana bileşenleri aşağıdaki gibidir:
- Bağlantı oluşturma
- Posta kutusu listesi
- E-posta indirme
- E-posta silme
POP3'ün dezavantajlarından biri, e-postaların sunucuda depolanmasından kaynaklanan kısıtlı erişimdir. Bu nedenle, dikkatli kullanılmalıdır.
IMAP
IMAP (Internet Message Access Protocol), e-posta mesajlarının sunucu ile iletişim halindeyken yönetilmesine izin veren bir e-posta protokolüdür. IMAP, popüler e-posta istemcileri tarafından yaygın olarak kullanılır ve e-postaların güvenli bir şekilde gönderilmesini sağlamak için SSL gibi güvenlik protokolleriyle birlikte kullanılabilir.
DNS
DNS (Domain Name System), IP adreslerini insanların hatırlayabileceği alan adlarına çevirmek için kullanılan bir protokoldür. DNS sorguları iki türlüdür: recursive (özyinelemeli) ve iterative (tekrarlayıcı).
P2P Dosya Paylaşımı
P2P dosya paylaşımı, bir grup kullanıcının, dosya paylaşımına izin veren özel bir yazılım kullanarak birbirleriyle doğrudan iletişim kurmasıdır.
P2P dosya paylaşımı, bir dosya sunucusuna gerek duymadan doğrudan kullanıcılar arasında paylaşım yapılmasına izin verir.
P2P dosya paylaşımının bazı popüler örnekleri arasında Gnutella, BitTorrent, eDonkey ve FastTrack bulunmaktadır.